package com.headStorm.smartProcess;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONObject;

import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;

/**
 * 七院自主流程头脑风暴
 * 之前采用的是责任链的模式,把一个自主流程均分成几个细小的流程
 * 但是发现会有个问题,无法进行人工的干预,一但进行切换进行人工的干预之后
 * 就无法进行再从断点上再次进行执行。这样可能会有问题
 * @author zhangqq
 * @create 2021-05-20 15:25
 **/
public class SevenSmartProcess {


    public static void main(String[] args) {
        //1.起个定时器我定时去扫描任务表 工单表 根据它能否完成的状态,取出最近一条的工单。

        //并且我要给前端提供一个接口,算出时间最近一条然后执行完成成功之后的一条
        //workOrderId

        //2.我在数据库中有个字段来标明执行到哪一步,然后进行计算,然后在执行相应的方法

        //3.重新执行某阶段,实际上是改数据中的标明让任务执行到哪一步的那个字段

        //4.通过记录状态进行任务阶段的重新执行,要记录好中间的操作步骤,相应的日志输出。
//        double dv = GpsUtil.getDistanceByOverlap(taskInfo.getPath().getHeight(), areaFlightContent.getSensorHeight(), areaFlightContent.getFocalWidth(), areaFlightContent.getVerticalOverlap() / 100);
//        double dh = GpsUtil.getDistanceByOverlap(taskInfo.getPath().getHeight(), areaFlightContent.getSensorWidth(), areaFlightContent.getFocalWidth(), areaFlightContent.getHorizontalOverlap() / 100);

//        List<JSONObject> list = new ArrayList<>();
//        for (int i = 0; i < 4; i++) {
//            JSONObject jsonObject = new JSONObject();
//            jsonObject.put("lat", 12.1);
//            jsonObject.put("lng", 12.1);
//            list.add(jsonObject);
//        }
//
//        System.out.println(list.toString());
//
//        System.out.println(NumberUtil.binaryToInt("1111"));
        long beginMills = System.currentTimeMillis();

        //过滤出来的文件
//        List<File> files = FileUtil.loopFiles(new File("D:\\BaiduNetdiskDownload"), new FileFilter() {
//            @Override
//            public boolean accept(File pathname) {
//                //System.out.println(pathname.getPath());
//                boolean flag = false;
//                if(pathname.getPath().contains("\\cc")){
//                    flag = true;
//                    System.out.println(pathname.getPath());
//                }
//                return flag;
//            }
//        });
//        File[] ls = FileUtil.ls("D:\\BaiduNetdiskDownload\\aa");
//        for (File file : ls) {
//            System.out.println(file.getPath());
//        }
//        List<File> files = FileUtil.loopFiles(new File("D:\\BaiduNetdiskDownload\\aa"), -1, null);
//        for (File file : files) {
//            System.out.println(file.getPath());
//        }

//        File file = new File("D:\\BaiduNetdiskDownload\\aa");
//        File[] files = file.listFiles();
//        for (File file1 : files) {
//            System.out.println(file1.getPath());
//        }
        FileUtil.loopFiles("D:\\BaiduNetdiskDownload\\aa");
        List<File> files = FileUtil.loopFiles("");
        for (File file : files) {
            System.out.println(file.getPath());
        }
    }

}
